﻿using BCDto.Location.Driver;
using BCDto.Location.Horseman;
using System.Collections.Generic;

namespace BCService.TMS.Location
{
    public  interface ILocationService
    {
        /// <summary>
        /// 获取订单取货地附近司机列表
        /// </summary>
        /// <param name="orderId">订单Id</param>
        /// <param name="maxDistance">最大范围</param>
        /// <returns></returns>
        IEnumerable<DriverLocationNearDto> QueryNearDrivers(long orderId,int maxDistance);
        /// <summary>
        /// 获取订单取货地附近骑手列表
        /// </summary>
        /// <param name="orderId">订单Id</param>
        /// <param name="maxDistance">最大范围</param>
        /// <returns></returns>
        IEnumerable<HorsemanLocationNearDto> QueryNearHorsemen(long orderId, int maxDistance);
        /// <summary>
        /// 获取司机位置信息
        /// </summary>
        /// <param name="vehicleNo">车牌号</param>
        /// <returns></returns>
        DriverLocationBsonDto GetDriverLocationInfo(string vehicleNo);
        /// <summary>
        /// 获取骑手位置信息
        /// </summary>
        /// <param name="vehicleNo">车牌号</param>
        /// <returns></returns>
        HorsemanLocationBsonDto GetHorsemanLocationInfo(string vehicleNo);
    }
}
